package com.sdry.service.plan;
import com.sdry.model.plan.DispatchBillDetail;
import com.sdry.model.plan.ProductionPlan;

import java.util.List;
/**
 *
 *@ClassName: ProductionPlanService
 *@Description: 生产计划
 *@Author llm
 *@Date 2019-07-02 17:32:04
 *@version 1.0
*/
public interface ProductionPlanService {
	/** 
	 * 根据主键id查询实体
	 * @param id 主键id
	 * @return 实体
	*/
	public ProductionPlan queryById(Long id);
	/** 
	 * 条件查询所有
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public List<ProductionPlan> queryAllByMution(ProductionPlan param);
	/** 
	 * 条件分页查询
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public List<ProductionPlan> findPageByMution(ProductionPlan param);
	/** 
	 * 条件查询记录数
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public Integer selectCountByMution(ProductionPlan param);
	/** 
	 * 插入返回id
	 * @param param 实体条件
	 * @return 主键id
	*/
	public Long insert(ProductionPlan param);
	/** 
	 * 根据主键更新 返回影响行数
	 * @param param 实体条件
	 * @return 影响行数
	*/
	public Integer update(ProductionPlan param);
	/** 
	 * 根据主键拼接的字符串删除返回影响行数
	 * @param ids 主键拼接的字符串
	 * @return 影响行数
	*/
	public Integer delete(String ids);
	/**   
	 * 根据产品BOM查物料
	 * @param productId
	 * @return             
	 */
	public List<DispatchBillDetail> findMaterielByProductBom(Long productId);
	/**   
	 * 查物料库存
	 * @param materielId
	 * @return             
	 */
	public Integer getInventoryByMaterielId(Long materielId);
}
